Discussion threads are a popular way for people to communicate using the Internet. A discussion thread, such as a newsgroup, allows people to participate in a discussion about a specific topic. A discussion thread is typically initiated when a person creates an initial message directed to a topic and posts the message as a new discussion thread. Other persons can read the initial message and post response messages to the discussion thread. For example, the initial message may pose a question such as “Has anyone encountered a situation where the Acme software product aborts with error number 456?” Persons who want to participate in the discussion can post response messages such as “It happens to me all the time” or “I fixed the problem by reinstalling the software.” Discussion threads typically take the form of a tree structure as sequences of messages branch off into different paths. For example, three different persons can post a response message to the initial message, starting three branches, and other persons can post response messages to any one of those response messages to extend those branches.
In general, discussion threads include questions and their answers. For example, a customer support group within a company that sells a certain software product may provide a mechanism for its customers to create and participate in discussion threads relating to the software product. For example, a customer may initiate a discussion thread by posting an initial message that poses a question such as the one mentioned above. That question may be answered by the posting of a response message by another customer or a customer service representative. The corpus of discussion threads of the company may provide a vast amount of knowledge related to problems and concerns that customers may encounter along with appropriate responses (e.g., answers to questions posed).
When a customer wants an answer to a question, the customer may either initiate a new discussion thread or search messages of existing discussion threads that may provide an answer to the customer's question. When searching for an answer within the message of a corpus of discussion threads, a customer may submit a short query using keywords of the question. For example, the customer may submit the query “error 456” in hopes of finding an answer to the question mentioned above. A search engine may be used to identify those messages that contain keywords matching the query. In many instances, the messages that best match the keywords of the query are the messages that pose a similar question. The response messages may not result in a good keyword match in part because they may not repeat the keywords of the question. The most relevant message to the customer, however, may be a response message that answers the question, rather than a message that poses a similar question.
It would be desirable to have a technique that would more accurately identify a message that poses primary questions of a discussion thread (“a question message”) and a message that provides answers to the primary questions (“an answer message”). In addition, when searching for messages that match a query, it would be desirable to have a technique that would provide answer messages, rather than question messages, as a query result.